<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="templates/template2.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"                
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://java.sun.com/jsf/core">

    <ui:define name="tituloPagina">Administración</ui:define>

    <ui:define name="contenido">


        <p:tabView id="tabulador" style="width:99%;height:96%;overflow: auto;display: block;">

            <p:tab id="tba1" title="Pantallas">                    
                <h:form prependId="false" id="frmPrincipal">     
                    <p:layout style="height: 700px;width: 100%;display: block;">
                        <p:layoutUnit position="west" size="26%" header="Estructura de las Pantallas" resizable="true">

                            <p:tree id="arbPantalla" value="#{controladorAdministracion.raiz}" var="node"  
                                    selectionMode="single"  style="width:99%;height:99.6%;overflow: hidden;display: block;" cache="true" dynamic="true"
                                    selection="#{controladorAdministracion.nodoSeleccionad0}">  

                                <p:ajax event="select" update="@form"  listener="#{controladorAdministracion.seleccionarArbol}" /> 

                                <p:treeNode expandedIcon="ui-icon-folder-open"  
                                            collapsedIcon="ui-icon-folder-collapsed">  
                                    <h:outputText value="#{node.panNombre}" />  
                                </p:treeNode> 

                                <p:treeNode type="document" icon="ui-icon-document">  
                                    <h:outputText value="#{node.panNombre}" />  
                                </p:treeNode>  
                            </p:tree> 


                        </p:layoutUnit>

                        <p:layoutUnit position="center">

                            <p:toolbar >
                                <p:toolbarGroup>
                                    <p:commandButton value="Insertar" icon="ui-agregar" action="#{controladorAdministracion.insertarPantalla}" oncomplete="wdlgDetalle.show()" update=":frmFormulario" />
                                </p:toolbarGroup>
                            </p:toolbar>
                            <h:panelGroup id="pnlTabela"> 

                                <p:dataTable value="#{controladorAdministracion.lisPantallas}" var="tabla" rows="10" paginator="true" paginatorAlwaysVisible="false"
                                             rowIndexVar="rowNumber" >

                                    <p:column width="60">
                                        <p:commandLink     title="Modificar"
                                                           oncomplete="wdlgDetalle.show()" 
                                                           update=":frmFormulario">
                                            <p:graphicImage url="../imagenes/im_modificar.png" 
                                                            style="vertical-align: middle; border: none"/>
                                            <f:setPropertyActionListener
                                                target="#{controladorAdministracion.panPantalla}" value="#{tabla}" />

                                        </p:commandLink>
                                        <p:spacer width="10"/>
                                        <p:commandLink action="#{controladorAdministracion.eliminarPantalla}" 
                                                       title="Eliminar"
                                                       update="@form">
                                            <p:graphicImage url="../imagenes/im_eliminar.png" 
                                                            style="vertical-align: middle; border: none"/>
                                            <f:setPropertyActionListener
                                                target="#{controladorAdministracion.panPantalla}" value="#{tabla}" />
                                        </p:commandLink>
                                    </p:column>

                                    <p:column headerText="NOMBRE PANTALLA"   >
                                        <h:outputText value="#{tabla.panNombre}"/>
                                    </p:column>

                                    <p:column headerText="PATH"   >
                                        <h:outputText value="#{tabla.panPath}"/>
                                    </p:column>

                                </p:dataTable>
                            </h:panelGroup>

                        </p:layoutUnit>
                    </p:layout>

                </h:form>
            </p:tab> 

            <p:tab id="tba2" title="Perfiles/Roles">

                <h:form prependId="false" id="frmRol">
                    <p:toolbar >
                        <p:toolbarGroup>
                            <p:commandButton value="Insertar" icon="ui-agregar" action="#{controladorRoles.insertar}" oncomplete="wdlgDetalleRol.show()" update=":frmFormularioRol" />
                        </p:toolbarGroup>
                    </p:toolbar>
                    <!-- CONFIGURACIÓN TABLA -->

                    <h:panelGroup id="pnlTabelaRol"> 

                        <p:dataTable value="#{controladorRoles.listaRoles}" var="tabla" rows="10" paginator="true" paginatorAlwaysVisible="false"
                                     rowIndexVar="rowNumber" filteredValue="#{controladorRoles.filtroRoles}">


                            <p:column width="60">
                                <p:commandLink     title="Modificar"
                                                   oncomplete="wdlgDetalleRol.show()" 
                                                   update=":frmFormularioRol">
                                    <p:graphicImage url="../imagenes/im_modificar.png" 
                                                    style="vertical-align: middle; border: none"/>
                                    <f:setPropertyActionListener
                                        target="#{controladorRoles.rolRoles}" value="#{tabla}" />

                                </p:commandLink>
                                <p:spacer width="10"/>
                                <p:commandLink action="#{controladorRoles.eliminar}" 
                                               title="Eliminar"
                                               update="@form">
                                    <p:graphicImage url="../imagenes/im_eliminar.png" 
                                                    style="vertical-align: middle; border: none"/>
                                    <f:setPropertyActionListener
                                        target="#{controladorRoles.rolRoles}" value="#{tabla}" />
                                </p:commandLink>
                            </p:column>

                            <p:column headerText="NOMBRE" filterBy="#{tabla.rolNombre}" sortBy="#{tabla.rolNombre}">
                                <h:outputText value="#{tabla.rolNombre}"/>                     
                            </p:column>
                            <p:column headerText="DESCRIPCIÓN" filterBy="#{tabla.rolDescripcion}" sortBy="#{tabla.rolDescripcion}">
                                <h:outputText value="#{tabla.rolDescripcion}"/>
                            </p:column>

                        </p:dataTable>
                    </h:panelGroup>

                </h:form>
            </p:tab>

            <p:tab id="tba3" title="Permisos">


                <p:layout style="height: 700px;width: 100%;display: block;">
                    <p:layoutUnit position="west" size="40%" header="Seleccione un Rol/Perfil" resizable="true">
                        <h:form id="frmRolPermi">
                            <p:dataTable value="#{controladorPermisos.lisRoles}" var="tabla" selectionMode="single"
                                         selection="#{controladorPermisos.rolSeleccionado}" rowKey="#{tabla.rolCodigo}">
                                <p:ajax event="rowSelect"  update=":tabulador:frmPermiso"  listener="#{controladorPermisos.seleccionarRol}"/>

                                <p:column headerText="ROL/PERFIL">
                                    <h:outputText value="#{tabla.rolNombre}"/>
                                </p:column>

                            </p:dataTable>
                        </h:form>
                    </p:layoutUnit>


                    <p:layoutUnit position="center">

                        <h:form prependId="false" id="frmPermiso">
                            <p:toolbar >
                                <p:toolbarGroup>
                                    <p:commandButton value="Insertar" icon="ui-agregar" action="#{controladorPermisos.insertar}" oncomplete="wdlgPermiso.show()" update=":frmFormularioPermiso" />
                                </p:toolbarGroup>
                            </p:toolbar>
                            <!-- CONFIGURACIÓN TABLA -->

                            <h:panelGroup id="pnlTabelaPermiso"> 

                                <p:dataTable value="#{controladorPermisos.listaPermisos}" var="tabla" rows="10" paginator="true" paginatorAlwaysVisible="false"
                                             rowIndexVar="rowNumber" filteredValue="#{controladorPermisos.filtroPermisos}">


                                    <p:column width="60">
                                        <p:commandLink     title="Modificar"
                                                           oncomplete="wdlgPermiso.show()" 
                                                           update=":frmFormularioPermiso">
                                            <p:graphicImage url="../imagenes/im_modificar.png" 
                                                            style="vertical-align: middle; border: none"/>
                                            <f:setPropertyActionListener
                                                target="#{controladorPermisos.perPermisos}" value="#{tabla}" />

                                        </p:commandLink>
                                        <p:spacer width="10"/>
                                        <p:commandLink action="#{controladorPermisos.eliminar}" 
                                                       title="Eliminar"
                                                       update=":tabulador:frmPermiso:pnlTabelaPermiso">
                                            <p:graphicImage url="../imagenes/im_eliminar.png" 
                                                            style="vertical-align: middle; border: none"/>
                                            <f:setPropertyActionListener
                                                target="#{controladorPermisos.perPermisos}" value="#{tabla}" />
                                        </p:commandLink>
                                    </p:column>               
                                    <p:column headerText="NOMBRE PANTALLA" sortBy="#{tabla.panCodigo.panNombre}">
                                        <h:outputText value="#{tabla.panCodigo.panNombre}    -    #{tabla.panCodigo.panPath}"/>                     
                                    </p:column>
                                </p:dataTable>
                            </h:panelGroup>
                        </h:form>

                    </p:layoutUnit>
                </p:layout>




            </p:tab>


        </p:tabView>  




        <!-- CONFIGURACIÓN FORMULARIO PANTALLA-->
        <p:dialog id="dlgDetalhe" 
                  widgetVar="wdlgDetalle" 
                  modal="true" 
                  resizable="false"
                  appendToBody="true"
                  closable="true" 
                  header="Datos de la Pantalla" 
                  styleClass="dialogoSemScroll" >
            <h:form id="frmFormulario">
                <p:panelGrid id="pnlDetalhe" 
                             columns="1" 
                             styleClass="panelGridSemBorda">
                    <p:fieldset legend="DATOS DE LA PANTALLA">
                        <h:panelGrid columns="2">
                            <h:outputText value="Nombre :"/>
                            <p:inputText value="#{controladorAdministracion.panPantalla.panNombre}" maxlength="150" size="55"/>  
                            <h:outputText value="Path :"/>
                            <p:inputText value="#{controladorAdministracion.panPantalla.panPath}" maxlength="200" size="75"/>  
                        </h:panelGrid>
                    </p:fieldset>

                    <f:facet name="footer">
                        <p:toolbar>
                            <p:toolbarGroup>
                                <p:commandButton action="#{controladorAdministracion.guardarPantalla}" value="Guardar" icon="ui-guardar" update="@form,:tabulador:frmPrincipal" />
                            </p:toolbarGroup>
                        </p:toolbar>
                    </f:facet>  
                </p:panelGrid>
            </h:form>
        </p:dialog>




        <!-- CONFIGURACIÓN FORMULARIO ROLES-->
        <p:dialog id="dlgDetalheRol" 
                  widgetVar="wdlgDetalleRol" 
                  modal="true" 
                  resizable="false"
                  appendToBody="true"
                  closable="true" 
                  header="Datos del Rol" 
                  styleClass="dialogoSemScroll" >

            <h:form id="frmFormularioRol">
                <p:panelGrid id="pnlDetalheRol" 
                             columns="1" 
                             styleClass="panelGridSemBorda">

                    <p:fieldset legend="DATOS DE LOS ROLES">

                        <h:panelGrid columns="2">


                            <h:outputText value="Nombre :*"/>
                            <p:inputText value="#{controladorRoles.rolRoles.rolNombre}" maxlength="150" size="30" required="true" requiredMessage="Debe ingresar el Nombre" />

                            <h:outputText value="Descripción :*"/>
                            <p:inputTextarea style="width: 95%" value="#{controladorRoles.rolRoles.rolDescripcion}" maxlength="150" required="true" requiredMessage="Debe ingresar la descripción" />

                        </h:panelGrid>

                    </p:fieldset>
                    <f:facet name="footer">
                        <p:toolbar>
                            <p:toolbarGroup>

                                <p:commandButton action="#{controladorRoles.guardar()}" value="Guardar" icon="ui-guardar" update=":tabulador:frmRol" />
                            </p:toolbarGroup>
                        </p:toolbar>
                    </f:facet>
                </p:panelGrid>
            </h:form>
        </p:dialog>




        <!-- CONFIGURACIÓN FORMULARIO -->
        <p:dialog id="dlgDetalhePermiso" 
                  widgetVar="wdlgPermiso" 
                  modal="true" 
                  resizable="false"
                  appendToBody="true"
                  closable="true" 
                  header="Datos Permisos" 
                  styleClass="dialogoSemScroll" >

            <h:form id="frmFormularioPermiso">
                <p:panelGrid id="pnlPermi" 
                             columns="1" 
                             styleClass="panelGridSemBorda">

                    <p:fieldset legend="DATOS PERMISOS">

                        <h:panelGrid columns="2">
                            <h:outputText value="Rol :"/>
                            <h:outputText value="#{controladorPermisos.rolSeleccionado.rolNombre}"  />                   

                            <h:outputText value="Pantalla:*"/>
                            <p:selectOneMenu value="#{controladorPermisos.perPermisos.panCodigo.panCodigo}">
                                <f:selectItem itemValue="" itemLabel="Seleccione una Pantalla ..."/>
                                <f:selectItems value="#{controladorPermisos.comPantallas}" var="combo" itemValue="#{combo[0]}" itemLabel="#{combo[1]}"/>                                
                            </p:selectOneMenu>
                        </h:panelGrid>

                    </p:fieldset>
                    <f:facet name="footer">
                        <p:toolbar>
                            <p:toolbarGroup>

                                <p:commandButton action="#{controladorPermisos.guardar()}" value="Guardar" icon="ui-guardar" update=":tabulador:frmPermiso" />
                            </p:toolbarGroup>
                        </p:toolbar>
                    </f:facet>

                </p:panelGrid>
            </h:form>
        </p:dialog>


    </ui:define>
</ui:composition>
